package neuronalenetzeelearning.model;

import java.util.Vector;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.785B6CF3-1B32-3AE9-6EC5-4530286EFEAB]
// </editor-fold> 
public interface INode {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E1D3ED9C-69A9-77ED-01B2-7AB9FFBF3221]
    // </editor-fold>
    /**
     * setzte alle angrenzenden Kanten des Knotens neu
     * @param edges
     */
    public void setEdges (Vector<Edge> edges);

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.0A4DE418-5EEE-2F52-7373-C186606B82BB]
    // </editor-fold>
    /**
     * liefert alle angrenzenden Kanten des Knotens
     * @return alle angrenzenden Kanten eines Knoten
     */
    public Vector<Edge> getEdges ();

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.538213B9-47C7-B35B-A7F4-1B60F12E2497]
    // </editor-fold>
    /**
     * Liefert alle eingehenden Kanten als Vektor
     * @return alle eingehenden Kanten eines Knoten
     */
    public Vector<Edge> getIncomingEdges ();

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.B7A06F98-CB64-B17D-3E3C-C607C3A49D5F]
    // </editor-fold>
    /**
     * Liefert alle ausgehenden Kanten als Vektor
     * @return alle ausgehenden Kanten eines Knotens
     */
    public Vector<Edge> getOutgoingEdges ();

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.165B532B-AADE-1C67-EC1C-C46E71F6A353]
    // </editor-fold>
    /**
     * setzte Schwellenwert des Knoten (nur 1x pro Knoten!)
     * @param threshold
     */
    public void setThreshold (double threshold);

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.FEAA8B84-DC73-9DBB-15E8-E2EED55F0214]
    // </editor-fold>
    /**
     * liefert Schwellenwert des Knoten (nur 1x pro Knoten!)
     * @return Schwellenwert eines Knoten
     */
    public double getThreshold ();

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.D4CB347F-9081-0818-774C-E40F6AB8E727]
    // </editor-fold>
    /**
     * setze den Ausgabewert (Beachte Schicht)
     * @param outputValue
     */
    public void setOutputValue (double outputValue);

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.2DBC473A-987E-CDC0-5988-13803974B909]
    // </editor-fold>
    /**
     * liefert Ausgabewert
     * @return Ausgabewert eines Knoten
     */
    public double getOutputValue ();

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.4E29C418-CF9B-CA35-35F1-BEE463432068]
    // </editor-fold>
    /**
     * berechnet Nettoinput für den Knoten
     * @return Nettoinput eines Knoten
     */
    public double nettoinput ();



}

